package com.ruoyi.yqhs.service.impl;

import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

import com.github.pagehelper.PageHelper;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.common.utils.uuid.IdUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.yqhs.mapper.YqhsZxsjMapper;
import com.ruoyi.yqhs.domain.YqhsZxsj;
import com.ruoyi.yqhs.service.IYqhsZxsjService;

/**
 * 在线数据Service业务层处理
 *
 * @author ruoyi
 * @date 2025-08-31
 */
@Service
public class YqhsZxsjServiceImpl implements IYqhsZxsjService {
    @Autowired
    private YqhsZxsjMapper yqhsZxsjMapper;

    /**
     * 查询在线数据
     *
     * @param id 在线数据主键
     * @return 在线数据
     */
    @Override
    public YqhsZxsj selectYqhsZxsjById(Long id) {
        return yqhsZxsjMapper.selectYqhsZxsjById(id);
    }

    /**
     * 查询在线数据列表
     *
     * @param yqhsZxsj 在线数据
     * @return 在线数据
     */
    @Override
    public List<YqhsZxsj> selectYqhsZxsjList(YqhsZxsj yqhsZxsj) {
        return yqhsZxsjMapper.selectYqhsZxsjList(yqhsZxsj);
    }

    /**
     * 新增在线数据
     *
     * @param yqhsZxsj 在线数据
     * @return 结果
     */
    @Override
    public int insertYqhsZxsj(YqhsZxsj yqhsZxsj) {
        yqhsZxsj.setId(IdUtils.getId());
        yqhsZxsj.setCreateBy(SecurityUtils.getLoginUser().getUsername());
        yqhsZxsj.setCreateTime(DateUtils.getNowDate());
        return yqhsZxsjMapper.insertYqhsZxsj(yqhsZxsj);
    }

    /**
     * 修改在线数据
     *
     * @param yqhsZxsj 在线数据
     * @return 结果
     */
    @Override
    public int updateYqhsZxsj(YqhsZxsj yqhsZxsj) {
        yqhsZxsj.setUpdateBy(SecurityUtils.getLoginUser().getUsername());
        yqhsZxsj.setUpdateTime(DateUtils.getNowDate());
        return yqhsZxsjMapper.updateYqhsZxsj(yqhsZxsj);
    }

    /**
     * 批量删除在线数据
     *
     * @param ids 需要删除的在线数据主键
     * @return 结果
     */
    @Override
    public int deleteYqhsZxsjByIds(Long[] ids) {
        return yqhsZxsjMapper.deleteYqhsZxsjByIds(ids);
    }

    /**
     * 删除在线数据信息
     *
     * @param id 在线数据主键
     * @return 结果
     */
    @Override
    public int deleteYqhsZxsjById(Long id) {
        return yqhsZxsjMapper.deleteYqhsZxsjById(id);
    }

    /**
     * 获取加油站在线数据最新的罐压
     *
     * @param jydId
     * @return
     */
    @Override
    public BigDecimal selectYqhsZxsjGuanYa(Long jydId) {
        PageHelper.startPage(1, 1);
        List<Map<String, Object>> list = yqhsZxsjMapper.selectYqhsZxsjGuanYa(jydId);
        if (list.size() > 0) {
            return new BigDecimal(list.get(0).get("guanya").toString());
        } else {
            return BigDecimal.ZERO;
        }
     }

}
